Supporting Queries on Source Code: a Formal Framework
نویسندگان
چکیده
Querying source code interactively for information is a critical task in reverse engineering of software. However, current source code query systems succeed in handling only small subsets of the wide range of queries possible on code, trading generality and expressive power for ease of implementation and practicality. We attribute this to the absence of clean formalisms for modeling and querying source code. In this paper, we present an algebraic framework (Source Code Algebra or SCA) that forms the basis of our source code query system. The bene ts of using SCA include the integration of structural and ow information into a single source code data model, the ability to process high-level source code queries (command-line, graphical, relational, or pattern-based) by expressing them as equivalent SCA expressions, the use of SCA itself as a powerful low-level source code query language, and opportunities for query optimization. We present the SCA's data model and operators and show that a variety of source code queries can be easily expressed using them. An algebraic model of source code addresses the issues of conceptual integrity, expressive power, and performance of a source code query system within a uni ed framework.
منابع مشابه
CodeOntology: RDF-ization of Source Code
In this paper, we leverage advances in the Semantic Web area, including data modeling (RDF), data management and querying (JENA and SPARQL), to develop CodeOntology, a community-shared software framework supporting expressive queries over source code. The project consists of two main contributions: an ontology that provides a formal representation of object-oriented programming languages, and a...
متن کاملQuerying Source Code Using an Algebraic Query Language
Querying and analyzing source code interactively is a critical task in reverse engineering and program understanding. Current source code query systems lack suucient formalism and ooer limited query capabilities. In this paper, we introduce the formal framework of Source Code Algebra (SCA), and outline a source code query system based on it. SCA provides a formal data model for source code, an ...
متن کاملCode Analyses for Refactoring by Source Code Patterns and Logical Queries
Preconditions of refactorings often comprise complex analyses that require a solid formal basis. The bigger the gap between the level of abstraction of the formalism and the actual implementation is, the harder the coding and maintenance of the analysis will be. In this paper we describe a subset of GenTL, a generic analysis and transformation language. It balances the need for expressiveness, ...
متن کاملA Framework for Supporting Data
This paper presents a framework for data integration currently under development in the Squirrel project. The framework is based on a special class of mediators, called Squirrel integration mediators. These mediators can support the traditional virtual and materialized approaches, and also hybrids of them. This permits considerable exibility when adapting to diverse data integration environment...
متن کاملFuzzy multi-criteria selection procedures in choosing data source
Technology assessment and selection has a substantial impact on organizations procedures in regards to technology transfer. Technological decisions are usually made by a group of experts, and whereby integrity of these viewpoints to a single decision can be quite complex. Today, operational databases and data warehouses exist to manage and organize data with specific features and henceforth, th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- International Journal of Software Engineering and Knowledge Engineering
دوره 4 شماره
صفحات -
تاریخ انتشار 1994